package org.brownflat.watergate.service;

import org.brownflat.watergate.domain.Branch;
import org.brownflat.watergate.domain.Commit;
import org.brownflat.watergate.domain.CommitElement;

import java.util.Collection;
import java.util.List;

/**
 * <p>&copy Rupert Jones 2012</p>
 *
 * @author rup
 */
public interface BranchService {
    Collection<Branch> findAll();
    Branch findById(int branchId);
    void save(Branch branch);
    void save(Commit commit);
    Commit findLastCommitFor(Branch branch);
    Commit findCommit(int id);
    CommitElement findCommitElement(int id);
    List<Commit> findReviewTriggerableCommits(Branch branch);
}
